package com.lhd.mpaas.demo.base;

import android.content.pm.ActivityInfo;
import android.os.Bundle;

import com.alipay.mobile.framework.app.ui.BaseFragmentActivity;
import com.gyf.immersionbar.ImmersionBar;
import com.lhd.mpaas.demo.AppManager;

import butterknife.ButterKnife;

public abstract class BaseActivity extends BaseFragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        AppManager.getInstance().addActivity(this);
        // 更改此活动的所需方向。如果活动当前处于前台或以其他方式影响屏幕方向，屏幕将立即更改（可能导致要重新启动的活动）
        // 否则，将在下一个活动可见的时间。
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        if (getLayoutId() != 0) {
            setContentView(getLayoutId());
            //绑定控件  //绑定初始化ButterKnife
            ButterKnife.bind(this);
        }
        //初始化沉浸式
        initImmersionBar();
    }

    /**
     * 子类设置布局Id
     *
     * @return the layout id
     */
    protected abstract int getLayoutId();

    /**
     * 初始化沉浸式
     * Init immersion bar.
     */
    protected void initImmersionBar() {
        // 设置共同沉浸式样式
        ImmersionBar.with(this).statusBarDarkFont(true).init();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        AppManager.getInstance().removeActivity(this);
    }
}
